home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / p9_nt.exe / OEMSETUP.INF < prev    next >
INI File  |  1993-08-03  |  23KB  |  632 lines

  1. ;-----------------------------------------------------------------------
  2. ; OPTION TYPE
  3. ; -----------
  4. ; This identifies the Option type we are dealing with.  The different
  5. ; possible types are:
  6. ;
  7. ; COMPUTER, VIDEO, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  8. ;-----------------------------------------------------------------------
  9.  
  10. [Identification]
  11.     OptionType = VIDEO
  12.  
  13. ;-----------------------------------------------------------------------
  14. ; LANGUAGES SUPPORTED
  15. ; -------------------
  16. ;
  17. ; The languages supported by the OEM INF, For every language supported
  18. ; we need to have a separate text section for every displayable text
  19. ; section.
  20. ;
  21. ;-----------------------------------------------------------------------
  22.  
  23. [LanguagesSupported]
  24.     ENG
  25.  
  26. ;-----------------------------------------------------------------------
  27. ; OPTION LIST
  28. ; -----------
  29. ; This section lists the OEM Option key names.  These keys are locale
  30. ; independent and used to represent the option in a locale independent
  31. ; manner.
  32. ;
  33. ;-----------------------------------------------------------------------
  34.  
  35. ;
  36. ; Option list order: Option = Miniport driver, BitsPerPel, XResolution, YResolution, VRefresh, Interlaced
  37. ;
  38. ; If you don't want to create a VRefresh or Interlaced value under the service
  39. ; parameters then use the value ""
  40. ;
  41.  
  42. [Options]
  43.     "Weitek P9000 640x400x8, 84Hz"      = p9000,  8,   640,  400,  84,  0
  44.     "Weitek P9000 640x400x16, 84Hz"     = p9000,  16,  640,  400,  84,  0
  45.     "Weitek P9000 640x400x32, 84Hz"     = p9000,  32,  640,  400,  84,  0
  46.     "Weitek P9000 640x480x8, 72Hz"      = p9000,  8,   640,  480,  72,  0
  47.     "Weitek P9000 640x480x16, 72Hz"     = p9000,  16,  640,  480,  72,  0
  48.     "Weitek P9000 640x480x32, 72Hz"     = p9000,  32,  640,  480,  72,  0
  49.     "Weitek P9000 800x600x8, 60Hz"      = p9000,  8,   800,  600,  60,  0
  50.     "Weitek P9000 800x600x8, 72Hz"      = p9000,  8,   800,  600,  72,  0
  51.     "Weitek P9000 800x600x16, 60 Hz"    = p9000,  16,  800,  600,  60,  0
  52.     "Weitek P9000 800x600x16, 72 Hz"    = p9000,  16,  800,  600,  72,  0
  53.     "Weitek P9000 800x600x32, 60 Hz"    = p9000,  32,  800,  600,  60,  0
  54.     "Weitek P9000 800x600x32, 72 Hz"    = p9000,  32,  800,  600,  72,  0
  55.     "Weitek P9000 1024x768x8, 60 Hz"    = p9000,  8,  1024,  768,  60,  0
  56.     "Weitek P9000 1024x768x8, 70 Hz"    = p9000,  8,  1024,  768,  70,  0
  57.     "Weitek P9000 1024x768x16, 60 Hz"   = p9000,  16, 1024,  768,  60,  0
  58.     "Weitek P9000 1024x768x16, 70 Hz"   = p9000,  16, 1024,  768,  70,  0
  59.     "Weitek P9000 1280x1024x8, 55 Hz"   = p9000,  8,  1280,  1024, 55,  0
  60.     "Weitek P9000 1280x1024x8, 60 Hz"   = p9000,  8,  1280,  1024, 60,  0
  61.     "Weitek P9000 1280x1024x8, 74 Hz"   = p9000,  8,  1280,  1024, 74,  0
  62.     "Weitek P9000 1280x1024x8, 75 Hz"   = p9000,  8,  1280,  1024, 75,  0
  63.  
  64. ;
  65. ; This maps detected options into the options we support
  66. ;
  67. ; Format: DetectedOption = MappedOption
  68. ;
  69.  
  70.  
  71. ;       *** This section is NOT required ***
  72.  
  73.  
  74.  
  75. ;
  76. ; Order of the information:
  77. ;
  78. ; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
  79. ;
  80.  
  81. [MiniportDrivers]
  82.     p9000  = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_IGNORE, 33, {p9000}, 0, %SystemRoot%\System32\IoLogMsg.dll , 7
  83.  
  84. ;-----------------------------------------------------------------------
  85. ; OPTION TEXT SECTION
  86. ; -------------------
  87. ; These are text strings used to identify the option to the user.  There
  88. ; are separate sections for each language supported.  The format of the
  89. ; section name is "OptionsText" concatenated with the Language represented
  90. ; by the section.
  91. ;
  92. ;-----------------------------------------------------------------------
  93.  
  94. [OptionsTextENG]
  95.     "Weitek P9000 640x400x8, 84 Hz"       =  "Weitek P9000   640x400, 256 colors, 84 Hz"
  96.     "Weitek P9000 640x400x16, 84 Hz"      =  "Weitek P9000   640x400, 16BPP, 84 Hz"
  97.     "Weitek P9000 640x400x32, 84 Hz"      =  "Weitek P9000   640x400, 32BPP, 84 Hz"
  98.     "Weitek P9000 640x480x8, 72 Hz"       =  "Weitek P9000   640x480, 256 colors, 72 Hz"
  99.     "Weitek P9000 640x480x16, 72 Hz"      =  "Weitek P9000   640x480, 16BPP, 72 Hz"
  100.     "Weitek P9000 640x480x32, 72 Hz"      =  "Weitek P9000   640x480, 32BPP, 72 Hz"
  101.     "Weitek P9000 800x600x8, 60 Hz"       =  "Weitek P9000   800x600, 256 colors, 60 Hz"
  102.     "Weitek P9000 800x600x8, 72 Hz"       =  "Weitek P9000   800x600, 256 colors, 72 Hz"
  103.     "Weitek P9000 800x600x16, 60 Hz"      =  "Weitek P9000   800x600, 16BPP, 60 Hz"
  104.     "Weitek P9000 800x600x16, 72 Hz"      =  "Weitek P9000   800x600, 16BPP, 72 Hz"
  105.     "Weitek P9000 800x600x32, 60 Hz"      =  "Weitek P9000   800x600, 32BPP, 60 Hz"
  106.     "Weitek P9000 800x600x32, 72 Hz"      =  "Weitek P9000   800x600, 32BPP, 72 Hz"
  107.     "Weitek P9000 1024x768x8, 60 Hz"      =  "Weitek P9000  1024x768, 256 colors, 60 Hz"
  108.     "Weitek P9000 1024x768x8, 70 Hz"      =  "Weitek P9000  1024x768, 256 colors, 70 Hz"
  109.     "Weitek P9000 1024x768x16, 60 Hz"     =  "Weitek P9000  1024x768, 16BPP, 60 Hz"
  110.     "Weitek P9000 1024x768x16, 70 Hz"     =  "Weitek P9000  1024x768, 16BPP, 70 Hz"
  111.     "Weitek P9000 1280x1024x8, 55 Hz"     =  "Weitek P9000 1280x1024, 256 colors, 55 Hz"
  112.     "Weitek P9000 1280x1024x8, 60 Hz"     =  "Weitek P9000 1280x1024, 256 colors, 60 Hz"
  113.     "Weitek P9000 1280x1024x8, 74 Hz"     =  "Weitek P9000 1280x1024, 256 colors, 74 Hz"
  114.     "Weitek P9000 1280x1024x8, 75 Hz"     =  "Weitek P9000 1280x1024, 256 colors, 75 Hz"
  115.  
  116. ;---------------------------------------------------------------------------
  117. ; 1. Identify
  118. ;
  119. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  120. ;                as we are choosing currently.
  121. ;
  122. ; INPUT:         None
  123. ;
  124. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  125. ;                $($R1): Option Type (COMPUTER ...)
  126. ;                $($R2): Diskette description
  127. ;---------------------------------------------------------------------------
  128.  
  129. [Identify]
  130.     ;
  131.     ;
  132.     read-syms Identification
  133.  
  134.     set Status     = STATUS_SUCCESSFUL
  135.     set Identifier = $(OptionType)
  136.     set Media      = #("Source Media Descriptions", 1, 1)
  137.  
  138.     Return $(Status) $(Identifier) $(Media)
  139.  
  140.  
  141.  
  142. ;------------------------------------------------------------------------
  143. ; 2. ReturnOptions:
  144. ;
  145. ; DESCRIPTION:   To return the option list supported by this INF and the
  146. ;                localised text list representing the options.
  147. ;
  148. ;
  149. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  150. ;
  151. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  152. ;                                STATUS_NOLANGUAGE
  153. ;                                STATUS_FAILED
  154. ;
  155. ;                $($R1): Option List
  156. ;                $($R2): Option Text List
  157. ;------------------------------------------------------------------------
  158.  
  159. [ReturnOptions]
  160.     ;
  161.     ;
  162.     set Status        = STATUS_FAILED
  163.     set OptionList     = {}
  164.     set OptionTextList = {}
  165.  
  166.     ;
  167.     ; Check if the language requested is supported
  168.     ;
  169.     set LanguageList = ^(LanguagesSupported, 1)
  170.     Ifcontains(i) $($0) in $(LanguageList)
  171.         goto returnoptions
  172.     else
  173.         set Status = STATUS_NOLANGUAGE
  174.         goto finish_ReturnOptions
  175.     endif
  176.  
  177.     ;
  178.     ; form a list of all the options and another of the text representing
  179.     ;
  180.  
  181. returnoptions = +
  182.     set OptionList     = ^(Options, 0)
  183.     set OptionTextList = ^(OptionsText$($0), 1)
  184.     set Status         = STATUS_SUCCESSFUL
  185.  
  186. finish_ReturnOptions = +
  187.     Return $(Status) $(OptionList) $(OptionTextList)
  188.  
  189.  
  190.  
  191. ;---------------------------------------------------------------------------
  192. ; MapToSupportedOption
  193. ;
  194. ; DESCRIPTION:   To map a hardware detected option to the NT Supported
  195. ;                option which represents it.
  196. ;
  197. ; INPUT:         $($0): Option
  198. ;
  199. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  200. ;                $($R1): Mapped Option
  201. ;
  202. ;---------------------------------------------------------------------------
  203.  
  204. [MapToSupportedOption]
  205.     ;
  206.     set Status = STATUS_FAILED
  207.     set MappedOption = $($0)
  208.  
  209.     ;
  210.     ; If the option is one we can support using one of our standard options
  211.     ; then map it to the standard option else map it to the default option
  212.     ; which is VGA.
  213.     ;
  214.  
  215.     set OptionList = ^(MapOfOptions, 0)
  216.     ifcontains $($0) in $(OptionList)
  217.         set MappedOption = #(MapOfOptions, $($0), 1)
  218.     else
  219.         set MappedOption = "VGA"
  220.     endif
  221.  
  222.     set Status = STATUS_SUCCESSFUL
  223.     Return $(Status) $(MappedOption)
  224.  
  225.  
  226.  
  227. [ServicesEntry]
  228.     CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
  229.  
  230.  
  231. ;
  232. ; InstallOption:
  233. ;
  234. ; FUNCTION:  To copy files representing Options
  235. ;            To configure the installed option
  236. ;            To update the registry for the installed option
  237. ;
  238. ; INPUT:     $($0):  Language to use
  239. ;            $($1):  OptionID to install
  240. ;            $($2):  SourceDirectory
  241. ;            $($3):  AddCopy  (YES | NO)
  242. ;            $($4):  DoCopy   (YES | NO)
  243. ;            $($5):  DoConfig (YES | NO)
  244. ;
  245. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  246. ;                            STATUS_NOLANGUAGE |
  247. ;                            STATUS_USERCANCEL |
  248. ;                            STATUS_FAILED
  249. ;
  250.  
  251. [InstallOption]
  252.  
  253.     ;
  254.     ; Set default values for
  255.     ;
  256.     set Status       = STATUS_FAILED
  257.     set DrivesToFree = {}
  258.  
  259.     ;
  260.     ; extract parameters
  261.     ;
  262.     set Option   = $($1)
  263.     set SrcDir   = $($2)
  264.     set AddCopy  = $($3)
  265.     set DoCopy   = $($4)
  266.     set DoConfig = $($5)
  267.  
  268.     ;
  269.     ; Check if the language requested is supported
  270.     ;
  271.     set LanguageList = ^(LanguagesSupported, 1)
  272.     Ifcontains(i) $($0) in $(LanguageList)
  273.     else
  274.         set Status = STATUS_NOLANGUAGE
  275.         goto finish_InstallOption
  276.     endif
  277.     read-syms Strings$($0)
  278.  
  279.     ;
  280.     ; check to see if Option is supported.
  281.     ;
  282.  
  283.     set OptionList = ^(Options, 0)
  284.     ifcontains $(Option) in $(OptionList)
  285.     else
  286.         goto finish_InstallOption
  287.     endif
  288.     set OptionList = ""
  289.  
  290.     ;
  291.     ; Option has been defined already
  292.     ;
  293.     set MiniportDriver    = #(Options, $(Option), 1)
  294.     set BitsPerPel        = #(Options, $(Option), 2)
  295.     set XResolution       = #(Options, $(Option), 3)
  296.     set YResolution       = #(Options, $(Option), 4)
  297.     set VRefresh          = #(Options, $(Option), 5)
  298.     set Interlaced        = #(Options, $(Option), 6)
  299.  
  300.     set Type              = $(#(MiniportDrivers, $(MiniportDriver), 1))
  301.     set Group             =   #(MiniportDrivers, $(MiniportDriver), 2)
  302.     set ErrorControl      = $(#(MiniportDrivers, $(MiniportDriver), 3))
  303.     set Tag               =   #(MiniportDrivers, $(MiniportDriver), 4)
  304.     set InstalledDisplays =   #(MiniportDrivers, $(MiniportDriver), 5)
  305.     set VgaCompatible     =   #(MiniportDrivers, $(MiniportDriver), 6)
  306.     set EventMessageFile  =   #(MiniportDrivers, $(MiniportDriver), 7)
  307.     set TypesSupported    =   #(MiniportDrivers, $(MiniportDriver), 8)
  308.  
  309.     read-syms ServicesEntry
  310.     detect    ServicesEntry
  311.  
  312. installtheoption = +
  313.  
  314.     ;
  315.     ; Code to add files to copy list
  316.     ;
  317.  
  318.     ifstr(i) $(AddCopy) == "YES"
  319.         set DoActualCopy = NO
  320.         set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  321.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  322.         ifstr(i) $(STATUS) == NO
  323.             set DoActualCopy = YES
  324.             goto addfiles
  325.         endif
  326.         ForListDo $(InstalledDisplays)
  327.             set FileToCheck = #(Files-DisplayDLLs, $($), 2)
  328.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  329.             ifstr(i) $(STATUS) == NO
  330.                 set DoActualCopy = YES
  331.             endif
  332.         EndForListDo
  333.  
  334.         ;
  335.         ; tsk: check if p9inst.exe and res.dat exist
  336.         ;
  337.  
  338.         set FileToCheck = #(Files-Install, install, 2)
  339.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  340.         ifstr(i) $(STATUS) == NO
  341.             set DoActualCopy = YES
  342.         endif
  343.  
  344.         set FileToCheck = #(Files-RESDAT, resdat, 2)
  345.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  346.         ifstr(i) $(STATUS) == NO
  347.             set DoActualCopy = YES
  348.         endif
  349.  
  350.  
  351.  
  352.  
  353. addfiles = +
  354.         ifstr(i) $(DoActualCopy) == NO
  355.             shell "subroutn.inf" DriversExist $($0) $(String1)
  356.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  357.                 Debug-Output "VIDEO.INF: shelling DriversExist failed"
  358.                 goto finish_InstallOption
  359.             endif
  360.  
  361.             ifstr(i) $($R0) == STATUS_CURRENT
  362.             else-ifstr(i) $($R0) == STATUS_NEW
  363.                 set DoActualCopy = YES
  364.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  365.                 Debug-Output "VIDEO.INF: User cancelled video installation"
  366.                 goto finish_InstallOption
  367.             else
  368.                 Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  369.                 goto finish_InstallOption
  370.             endif
  371.         endif
  372.  
  373.         ifstr(i) $(DoActualCopy) == YES
  374.  
  375.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  376.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  377.                 Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
  378.                 goto finish_InstallOption
  379.             endif
  380.  
  381.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  382.                 set SrcDir = $($R1)
  383.                 ifstr(i) $($R2) != ""
  384.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  385.                 endif
  386.             else
  387.                 Debug-Output "VIDEO.INF: User cancelled asking source."
  388.                 goto finish_InstallOption
  389.             endif
  390.  
  391.             install Install-AddCopyOption
  392.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  393.                 Debug-Output "VIDEO.INF: Adding video files to copy list failed"
  394.                 goto finish_InstallOption
  395.             endif
  396.         else
  397.             set DoCopy = NO
  398.         endif
  399.  
  400.     endif
  401.  
  402.     ifstr(i) $(DoCopy) == "YES"
  403.         read-syms ProgressCopy$($0)
  404.         install Install-DoCopyOption
  405.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  406.             Debug-Output "Copying files failed"
  407.             goto finish_InstallOption
  408.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  409.             set Status = STATUS_USERCANCEL
  410.             goto finish_InstallOption
  411.         endif
  412.     endif
  413.  
  414.     ifstr(i) $(DoConfig) == "YES"
  415.  
  416.         ;
  417.         ; first run a privilege check on modifying the setup node
  418.         ;
  419.  
  420.         shell "registry.inf" CheckSetupModify
  421.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  422.             goto finish_InstallOption
  423.         endif
  424.  
  425.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  426.             goto finish_InstallOption
  427.         endif
  428.  
  429.         ;
  430.         ; first make a new video entry, the entry is created automatically
  431.         ; enabled
  432.         ;
  433.  
  434.         set ServiceNode   = $(MiniportDriver)
  435.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  436.  
  437.         set ServicesValues   = { +
  438.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  439.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
  440.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  441.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  442.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  443.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  444.                 }
  445.  
  446.         set ParametersValues = { +
  447.                 {InstalledDisplayDrivers,     0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
  448.                 {VgaCompatible,               0, $(!REG_VT_DWORD),    $(VgaCompatible)     }, +
  449.                 {DefaultSettings.BitsPerPel,  0, $(!REG_VT_DWORD),    $(BitsPerPel)        }, +
  450.                 {DefaultSettings.XResolution, 0, $(!REG_VT_DWORD),    $(XResolution)       }, +
  451.                 {DefaultSettings.YResolution, 0, $(!REG_VT_DWORD),    $(YResolution)       }  +
  452.                 }
  453.  
  454.         ifstr(i) $(VRefresh) != ""
  455.             set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
  456.             set ParametersValues = >($(ParametersValues), $(VRefreshValue))
  457.         endif
  458.  
  459.         ifstr(i) $(Interlaced) != ""
  460.             set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
  461.             set ParametersValues = >($(ParametersValues), $(InterlacedValue))
  462.         endif
  463.  
  464.         set DeviceValues     = {}
  465.         set EventLogValues   = { +
  466.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  467.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  468.                 }
  469.  
  470.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  471.                                                 $(ServicesValues)   +
  472.                                                 $(ParametersValues) +
  473.                                                 $(DeviceValues)     +
  474.                                                 $(EventLogValues)   +
  475.                                                 Device0
  476.  
  477.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  478.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  479.             goto finish_InstallOption
  480.         endif
  481.  
  482.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  483.             Debug-Output "MakeServicesEntry failed for video"
  484.             goto finish_InstallOption
  485.         endif
  486.  
  487.         ;
  488.         ;
  489.         ; then disable the previous video entry
  490.         ;
  491.  
  492.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  493.             ifstr(i) $(CurrentEntry) != VGA
  494.                 ifstr(i) $(CurrentEntry) != ""
  495.                     shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
  496.  
  497.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  498.                         Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
  499.                         goto errorconfig
  500.                     endif
  501.  
  502.                     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  503.                         Debug-Output "DisableServices entry failed"
  504.                     endif
  505.                 endif
  506.             endif
  507.         endif
  508.  
  509.         goto configdone
  510.  
  511. errorconfig = +
  512.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  513.             shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
  514.             ifstr(i) $(CurrentEntry) != ""
  515.                 shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
  516.             endif
  517.         endif
  518.         goto finish_InstallOption
  519.  
  520. configdone = +
  521.  
  522.     endif
  523.  
  524.     set Status = STATUS_SUCCESSFUL
  525.  
  526. finish_InstallOption = +
  527.  
  528.     ;
  529.     ; tsk: Run p9inst.exe
  530.     ;
  531.  
  532.     RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\p9inst.exe
  533.  
  534.     ForListDo $(DrivesToFree)
  535.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  536.     EndForListDo
  537.  
  538.     Return $(Status)
  539.  
  540.  
  541. [Install-AddCopyOption]
  542.  
  543.     set STF_VITAL = ""
  544.     ;
  545.     ; Add the files to the copy list
  546.     ;
  547.     AddSectionKeyFileToCopyList   Files-DisplayMiniportDrivers   +
  548.                                   $(MiniportDriver)              +
  549.                                   $(SrcDir)                      +
  550.                                   $(!STF_WINDOWSSYSPATH)\drivers
  551.  
  552.     ForListDo $(InstalledDisplays)
  553.         AddSectionKeyFileToCopyList   Files-DisplayDLLs          +
  554.                                       $($)                       +
  555.                                       $(SrcDir)                  +
  556.                                       $(!STF_WINDOWSSYSPATH)
  557.  
  558.     EndForListDo
  559.  
  560.  
  561.     ;
  562.     ; tsk: Add the p9inst.exe and p9000res.dat file to the copy list
  563.     ;
  564.     AddSectionFilesToCopyList     Files-Install                  +
  565.                                   $(SrcDir)                      +
  566.                                   $(!STF_WINDOWSSYSPATH)
  567.  
  568.     AddSectionFilesToCopyList     Files-RESDAT                   +
  569.                                   $(SrcDir)                      +
  570.                                   $(!STF_WINDOWSSYSPATH)
  571.  
  572.     exit
  573.  
  574.  
  575. [Install-DoCopyOption]
  576.  
  577.     ;
  578.     ; Copy files in the copy list
  579.     ;
  580.     CopyFilesInCopyList
  581.     exit
  582.  
  583. ;**************************************************************************
  584. ; PROGRESS GUAGE VARIABLES
  585. ;**************************************************************************
  586.  
  587. [ProgressCopyENG]
  588.     ProCaption   = "Windows NT Setup"
  589.     ProCancel    = "Cancel"
  590.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  591.                    "to cancel copying files?"
  592.     ProCancelCap = "Setup Message"
  593.     ProText1     = "Copying:"
  594.     ProText2     = "To:"
  595.  
  596. [StringsENG]
  597.     String1 = "Display"
  598.     String2 = "Please enter the full path to the OEM Display "+
  599.               "driver files.  Then choose Continue."
  600.  
  601. ;-----------------------------------------------------------------------
  602. ; SOURCE MEDIA DESCRIPTIONS
  603. ; -------------------------
  604. ; The OEM should list all the diskette labels here.  The source media
  605. ; description is used during copy to prompt the user for a diskette
  606. ; if the source is diskettes.
  607. ;
  608. ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
  609. ;     2 = "Diskette 2 Label" , TAGFILE = disk2
  610. ;     ...
  611. ;-----------------------------------------------------------------------
  612.  
  613. ;--------------------------------------------------------------------
  614. ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
  615. ; SPREAD SHEETS
  616. ;--------------------------------------------------------------------
  617.  
  618. [Source Media Descriptions]
  619.     1  = "", TAGFILE = disk1
  620.  
  621. [Files-DisplayDLLs]
  622. p9000 = 1, p9000.dll, SIZE=12345
  623.  
  624. [Files-DisplayMiniportDrivers]
  625. p9000 = 1, p9000.sys, SIZE=12345
  626.  
  627. [Files-Install]
  628. install = 1, p9inst.exe, SIZE=12345
  629.  
  630. [Files-RESDAT]
  631. resdat = 1, p9000res.dat, SIZE=12345
  632.